package java_learn.java_jinjie.IO;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件复制练习:一读一写
 * <p>
 * 明确:
 * 数据源: c:\\1.jpg
 * 数据的目的地: d:\\1.jpg
 * <p>
 * 文件复制的步骤:
 * 1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
 * 2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
 * 3.使用字节输入流对象中的方法read读取文件
 * 4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
 * 5.释放资源
 *
 * @Author: 李浩然
 * @Date: 2021/1/13 5:14 下午
 */
public class DemoCopyFile {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("/Users/lihaoran/Desktop/project/IdeaProjects/java-blockchain/java_learn/src/main/java/java_learn/java_jinjie/IO/a.txt");
        FileOutputStream fos = new FileOutputStream("/Users/lihaoran/Desktop/project/IdeaProjects/java-blockchain/java_learn/src/main/java/java_learn/java_jinjie/IO/File/test/a.txt");

        /*
        //单个字节读写
        int len=0;
        while((len=fis.read())!=-1){
            fos.write(len);
        }*/

        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = fis.read(bytes)) != -1) {
            fos.write(bytes, 0, len);
        }
        //先关闭写流
        fos.close();
        fis.close();
    }
}
